package com.ssy.lingxi.pay.api.fallback;

import com.ssy.lingxi.common.exception.BusinessException;
import com.ssy.lingxi.common.response.ResponseCode;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.pay.api.dto.request.eAccount.*;
import com.ssy.lingxi.pay.api.feign.IAllInPayFeign;
import com.ssy.lingxi.pay.api.model.vo.response.allInPay.ApplicationTransferRespVO;
import com.ssy.lingxi.pay.api.model.vo.response.allInPay.OrderSplitRefundRespVO;
import com.ssy.lingxi.pay.api.model.vo.response.allInPay.RefundRespVO;
import com.ssy.lingxi.pay.api.model.vo.response.allInPay.SignalAgentPayRespVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.validation.Valid;
import java.util.List;

/**
 * @author lqa
 * @version 2.0.0
 * @date 2021/12/5
 */
@Component
@Qualifier("allInPayHystrix")
public class AllInPayHystrix implements IAllInPayFeign {
    @Override
    public Wrapper<String> orderPay(@Valid EAccountOrderPayRequest eAccountOrderPayRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }

    @Override
    public Wrapper<SignalAgentPayRespVO> platFormRePay(@Valid PlatFormRePayRequest platFormRePayRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }

    @Override
    public Wrapper<ApplicationTransferRespVO> platFormTransfer(@Valid PlatFormTransferRequest platFormTransferRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }

    @Override
    public Wrapper<RefundRespVO> orderRefund(@Valid EAccountRefundRequest eAccountRefundRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }

    @Override
    public Wrapper<OrderSplitRefundRespVO> orderStoreRefund(@Valid StoreRefundRequest storeRefundRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }

    @Override
    public Wrapper<Void> cacheParams(@Valid List<CacheParamsRequest> cacheParamsRequest) {
        throw new BusinessException(ResponseCode.SERVICE_PAY_ERROR);
    }
}
